// 语音切换测试工具
// 在浏览器控制台中运行此代码来测试语音切换功能

console.log('🎤 语音切换测试工具已加载');

// 测试函数
window.testVoiceSwitch = async function (characterId = 'xiaoyan') {
    console.log('🔊 开始测试语音切换:', characterId);

    try {
        // 导入语音管理器
        const { voiceChatManager } = await import('./src/services/voiceChatManager.ts');

        // 获取所有可用的语音角色
        const characters = voiceChatManager.getAvailableVoiceCharacters();
        console.log('📋 可用的语音角色:', characters);

        // 查找指定的角色
        const character = characters.find(c => c.id === characterId);
        if (!character) {
            console.error('❌ 未找到语音角色:', characterId);
            return;
        }

        console.log('🎯 选择的语音角色:', character);

        // 设置语音角色
        voiceChatManager.setVoiceCharacter(characterId);

        // 测试语音播放
        const testText = `你好，我是${character.name}，这是我的${character.description}效果。`;
        console.log('📝 测试文本:', testText);

        await voiceChatManager.testVoice(testText);

        console.log('✅ 语音测试完成');

    } catch (error) {
        console.error('❌ 语音测试失败:', error);
    }
};

// 快速测试不同音色
window.testAllVoices = async function () {
    const voices = [
        'xiaoyan',           // 默认温柔女声
        'aisjiuxu',          // 御姐音
        'aisxping',          // 萝莉音
        'xiaoyan_bubble',    // 气泡音
        'xiaoyan_cute',      // 萌音
        'xiaoyan_deep'       // 深沉音
    ];

    console.log('🎭 开始测试所有音色...');

    for (let i = 0; i < voices.length; i++) {
        console.log(`\n--- 测试 ${i + 1}/${voices.length}: ${voices[i]} ---`);
        await window.testVoiceSwitch(voices[i]);

        // 等待3秒再播放下一个
        if (i < voices.length - 1) {
            console.log('⏳ 等待3秒后播放下一个音色...');
            await new Promise(resolve => setTimeout(resolve, 3000));
        }
    }

    console.log('🎉 所有音色测试完成！');
};

console.log('📖 使用方法:');
console.log('1. testVoiceSwitch("xiaoyan") - 测试指定音色');
console.log('2. testAllVoices() - 测试所有音色');
console.log('3. 可用的音色ID:', [
    'xiaoyan', 'aisjiuxu', 'aisxping', 'aisbabyxu', 'aisjinger', 'aisxue',
    'aisjiuxu_male', 'aisxping_male', 'aisbabyxu_male', 'aisjinger_male',
    'xiaoyan_bubble', 'xiaoyan_robot', 'xiaoyan_cute', 'xiaoyan_deep'
]);
